// -----------------------------
// Author: 		Dhaenens Gert 
// Creation: 	2/12/2015 10:46:27 PM				
// -----------------------------

#ifndef _CPlatform_h
#define _CPlatform_h

#include "IPlatform.h"

namespace Flow
{

	class CPlatform : public IPlatform
	{
	public:
		CPlatform();
		virtual ~CPlatform();

		virtual void			Release();

		virtual void			Sleep(UInt32 milliseconds);

		virtual Platform::Enum	GetPlatform() const;
		virtual Bool			IsPlatform(Platform::Enum platform) const;

		virtual UInt32			GetProcessorCount() const;

		virtual tstring			GetRootFolder() const;

		virtual UInt32			GetCurrentThreadID() const;

	private:

		CPlatform(const CPlatform& refCPlatform);
		CPlatform& operator=(const CPlatform& refCPlatform);
	};

}

#include "ExportMacro.h"
EXPORT_IMPLEMENTATION(Platform);

#endif